/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package it.azienda.stampe.view;

import it.azienda.framework.utilita.Utilita;
import it.azienda.framework.view.Dettaglio;
import it.azienda.stampe.parametri.BeanStampaPrenotazioni;
import java.util.HashMap;
import javax.faces.component.html.HtmlForm;
import javax.faces.context.FacesContext;

/**
 *
 * @author Utente
 */
public class DettaglioStampaPrenotazioni extends Dettaglio {

    private HtmlForm form = new HtmlForm();
    private BeanStampaPrenotazioni beanStampaPrenotazioni;

    public void setBeanStampaPrenotazioni(BeanStampaPrenotazioni beanStampaPrenotazioni) {
        setObj(beanStampaPrenotazioni);
        this.beanStampaPrenotazioni = beanStampaPrenotazioni;
    }

    public BeanStampaPrenotazioni getBeanStampaPrenotazioni() {
        return (BeanStampaPrenotazioni) getObj();
    }

    public HtmlForm getForm() {
        form = (HtmlForm) Utilita.getSession().getAttribute("form");
        if (form == null) {
            form = new HtmlForm();
        }
        FacesContext ctx = FacesContext.getCurrentInstance();
        beanStampaPrenotazioni = (BeanStampaPrenotazioni) ctx.getExternalContext().getRequestMap().get("beanStampaPrenotazioni");
        Utilita.getSession().removeAttribute("form");
        return form;
    }

    public void setForm(HtmlForm form) {
        setFormObject(form);
        this.form = form;
        Utilita.getSession().setAttribute("form", form);
    }

    public void stampaJasper() {
        FacesContext ctx = FacesContext.getCurrentInstance();
        BeanStampaPrenotazioni beanStampa = (BeanStampaPrenotazioni) ctx.getApplication().getVariableResolver().resolveVariable(ctx, "beanStampaPrenotazioni");
        try {
            beanStampa.setNomeStampa("DistintaViaggio");
            HashMap map = new HashMap();
            map.put("dataPartenza", beanStampa.getDataPartenza());
            map.put("idLinea", beanStampa.getIdLinea());
            map.put("pathlogo", "");

            beanStampa.setParametriStampa(map);
            beanStampa.setTipoReport(new Integer(0));
            beanStampa.setTipoStampa(new Integer(0));
            beanStampa.setTipoSalvataggio(new Integer(0));
            beanStampa.setTipoOutput(new Integer(0));
            
            super.setBeanStampa(beanStampa);
            super.stampaJasper();
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            Utilita.getRequest().setAttribute("beanStampaPrenotazioni", beanStampa);
        }
    }

}
